package demo08;

import com.sun.xml.internal.org.jvnet.fastinfoset.EncodingAlgorithmIndexes;

public class Test08 {
    //克隆接口
    public static void main1(String[] args) throws CloneNotSupportedException {
        Person person1 = new Person("张三");
        //由于克隆方法在 Object 当中 ，通过 Person 去调用是访问不到的 ， 所以我们在 Person 类中重写 clone 方法
        //重写 clone 方法后 ，发现下面代码还是报错 ，因为 这里等号的左边请求的是 Person ,而等号的右边是  Object ，所以我们只需要把等好的右边强转为 Person 类型

        Person person2 = (Person)person1.clone();
        System.out.println(person2);
        System.out.println("________");

        System.out.println(person1.M.money);
        System.out.println(person2.M.money);

        person2.M.money =99.9;
        System.out.println("________");

        System.out.println(person1.M.money);
        System.out.println(person2.M.money);
        /*
        1.关于 protexted 关键字的知识点
        2.向下转型
        3.必须实现克隆接口
        * */

        /*深拷贝和浅拷贝
        * */

//        object 类
    }

    public static void main(String[] args) {
        Object obj1 = new Person("zhangsna");
        Object obj2 = new String("fff");
        System.out.println(func(obj1));//调用 Person自己的 toString方法
    }
    public static String func(Object obj){
        return obj.toString();
    }
}
